package com.ruoyi.sale.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.sale.domain.ShipmentsProduct;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

@Data
public class PlanVo
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 计划编号 */
    private String planNumber;

    /** 计划名称 */
    private String planName;

    /** 发往店铺 */
    private Long goShop;

    /** 货运方式 */
    private Long freightMethod;

    /** 货运方式 */
    private Integer mannerId;

    /** 计划状态（0：未审，1：已审，2：部分发货，3：发货完毕） */
    private String planStatus;

    /** 发货时间 */
    private Date shipTime;

    /** 制单日期 */
    private Date preparationTime;

    /** 审核人 */
    private String approver;

    /** 审核日期 */
    private Date auditTime;

    /** 产品拼接 */
    private String productsSplicing;

    /** 删除状态 0存在1删除 */
    private String deleteStatus;

    /** 发货产品信息 */
    private List<ShipmentsProduct> shipmentsProductList;

    /** 货运方式 */
    private String mannerName;

    private Long userId;

    /** 用户名称 */
    private String nickName;

    /** 用户头像 */
    private String avatar;

    /** 部门名称 */
    private String deptName;

    private Long deptId;

    private String postName;

    private Long postId;

    private String ancestors;

    private String shopName;

    /**当前是否可选状态*/
    private String selectStatus;

    /** 添加仓库备货时用户选择的统一的货运方式 */
    private Integer selectedManner;

    /** 添加仓库备货时用户选择的备货仓库 */
    private Integer warehouse;

    /**  当前审核用户ID */
    private Long reviewerUserId;

    /** 审核流程状态（0审核中，1同意，2拒绝）*/
    private String planProcessStatus;

    /** 审核时间 */
    private Date planProcessTime;

    @Override
    public String toString() {
        return "PlanVo{" +
                "id=" + id +
                ", planNumber='" + planNumber + '\'' +
                ", planName='" + planName + '\'' +
                ", goShop=" + goShop +
                ", freightMethod=" + freightMethod +
                ", mannerId=" + mannerId +
                ", planStatus='" + planStatus + '\'' +
                ", shipTime=" + shipTime +
                ", preparationTime=" + preparationTime +
                ", approver='" + approver + '\'' +
                ", auditTime=" + auditTime +
                ", productsSplicing='" + productsSplicing + '\'' +
                ", deleteStatus='" + deleteStatus + '\'' +
                ", shipmentsProductList=" + shipmentsProductList +
                ", mannerName='" + mannerName + '\'' +
                ", userId=" + userId +
                ", nickName='" + nickName + '\'' +
                ", avatar='" + avatar + '\'' +
                ", deptName='" + deptName + '\'' +
                ", deptId=" + deptId +
                ", postName='" + postName + '\'' +
                ", postId=" + postId +
                ", ancestors='" + ancestors + '\'' +
                ", shopName='" + shopName + '\'' +
                ", selectStatus='" + selectStatus + '\'' +
                ", selectedManner=" + selectedManner +
                ", warehouse=" + warehouse +
                ", reviewerUserId=" + reviewerUserId +
                ", planProcessStatus='" + planProcessStatus + '\'' +
                ", planProcessTime=" + planProcessTime +
                '}';
    }
}
